Source:NetHack 3.0.0/config.h
Below is the full text to config.h from the source code of NetHack 3.0.0. To link to a particular line, write [[NetHack 3.0.0/config.h#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)config.h 3.0 89/06/23 2. /* Copyright © Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. #ifndef CONFIG_H /* make sure the compiler does not see the typedefs twice */ 6. #define CONFIG_H 7. 8. 9. /* 10. * Section 1: OS selection. 11. * Select the version of the OS you are using. 12. * For "UNIX" select either SYSV or BSD in unixconf.h 13. */ 14. 15. #define UNIX /* delete if no fork(), exec() available */ 16. 17. #ifdef __MSDOS__ /* Turbo C auto-defines __MSDOS__, others MSDOS */ 18. #define MSDOS /* define for MS-DOS (actually defined by compiler) */ 19. #else 20. /* # define MSDOS /* define for MS-DOS and most other micros */ 21. /* # define AMIGA /* define for Commodore-Amiga */ 22. /* #define TOS /* for Atari 520/1040 */ 23. 24. /* #define STUPID /* avoid some complicated expressions if 25. your C compiler chokes on them */ 26. /* #define STUPID_CPP /* use many small functions instead of macros to 27. avoid overloading limited preprocessors */ 28. /* #define TERMINFO /* uses terminfo rather than termcap */ 29. /* should be defined for most, but not all, SYSV */ 30. /* #define MINIMAL_TERM /* if a terminal handles highlighting or tabs poorly, 31. try this define, used in pager.c and termcap.c */ 32. #endif 33. 34. 35. 36. /* 37. * Section 2: Some global parameters and filenames. 38. * Commenting out WIZARD, LOGFILE, or NEWS removes that feature 39. * from the game; otherwise set the appropriate wizard name. 40. * LOGFILE and NEWS refer to files in the playground. 41. */ 42. 43. #ifndef WIZARD /* allow for compile-time or Makefile changes */ 44. #define WIZARD "izchak" /* the person allowed to use the -D option */ 45. #endif 46. 47. #define LOGFILE "logfile" /* larger file for debugging purposes */ 48. #define NEWS "news" /* the file containing the latest hack news */ 49. 50. 51. #define CHDIR /* delete if no chdir() available */ 52. 53. #ifdef CHDIR 54. /* 55. * If you define HACKDIR, then this will be the default playground; 56. * otherwise it will be the current directory. 57. */ 58. #define HACKDIR "/usr/games/lib/nethackdir" 59. 60. /* 61. * Some system administrators are stupid enough to make Hack suid root 62. * or suid daemon, where daemon has other powers besides that of reading or 63. * writing Hack files. In such cases one should be careful with chdir's 64. * since the user might create files in a directory of his choice. 65. * Of course SECURE is meaningful only if HACKDIR is defined. 66. */ 67. /* #define SECURE /* do setuid(getuid()) after chdir() */ 68. 69. /* 70. * If it is desirable to limit the number of people that can play Hack 71. * simultaneously, define HACKDIR, SECURE and MAX_NR_OF_PLAYERS. 72. * #define MAX_NR_OF_PLAYERS 6 73. */ 74. #endif /* CHDIR /**/ 75. 76. 77. 78. /* 79. * Section 3: Definitions that may vary with system type. 80. * For example, both schar and uchar should be short ints on 81. * the AT&T 3B2/3B5/etc. family. 82. */ 83. 84. /* 85. * Uncomment the following line if your compiler doesn't understand the 86. * 'void' type (and thus would give all sorts of compile errors without 87. * this definition). 88. */ 89. /* #define void int /* define if no "void" data type. */ 90. 91. #include "tradstdc.h" 92. 93. /* 94. * type schar: small signed integers (8 bits suffice) (eg. TOS) 95. * 96. * typedef char schar; 97. * 98. * will do when you have signed characters; otherwise use 99. * 100. * typedef short int schar; 101. */ 102. typedef signed char schar; 103. 104. /* 105. * type uchar: small unsigned integers (8 bits suffice - but 7 bits do not) 106. * 107. * typedef unsigned char uchar; 108. * 109. * will be satisfactory if you have an "unsigned char" type; 110. * otherwise use 111. * 112. * typedef unsigned short int uchar; 113. */ 114. typedef unsigned char uchar; 115. 116. /* 117. * Various structures have the option of using bitfields to save space. 118. * If your C compiler handles bitfields well (e.g., it can initialize structs 119. * containing bitfields), you can define BITFIELDS. Otherwise, the game will 120. * allocate a separate character for each bitfield. (The bitfields used never 121. * have more than 7 bits, and most are only 1 bit.) 122. */ 123. #define BITFIELDS /* Good bitfield handling */ 124. 125. 126. 127. /* 128. * Section 4: THE FUN STUFF!!! 129. * 130. * Conditional compilation of special options are controlled here. 131. * If you define the following flags, you will add not only to the 132. * complexity of the game but also to the size of the load module. 133. */ 134. 135. #define SPELLS /* Spell casting by M. Stephenson */ 136. #define POLYSELF /* Polymorph self code by Ken Arromdee */ 137. #define THRONES /* Thrones and Courts by M. Stephenson */ 138. #define PROBING /* Wand of probing code by Gil Neiger */ 139. #define REDO /* support for redoing last command - DGK */ 140. #define HARD /* Enhanced wizard code by M. Stephenson */ 141. #define WALKIES /* Leash code by M. Stephenson */ 142. #define FOUNTAINS /* Fountain code by SRT (+ GAN + EB) */ 143. #define KOPS /* Keystone Kops by Scott R. Turner */ 144. #define COM_COMPL /* Command line completion by John S. Bien */ 145. #define MEDUSA /* Mirrors and the Medusa by Richard P. Hughey */ 146. #define NAMED_ITEMS /* Special named items handling */ 147. #define ARMY /* Soldiers, barracks by Steve Creps */ 148. #define SHIRT /* Hawaiian shirt code by Steve Linhart */ 149. #define THEOLOGY /* Smarter gods - The Unknown Hacker */ 150. #define SINKS /* Kitchen sinks - Janet Walz */ 151. #define COMPRESS "/usr/local/compress" /* the location of 'compress' */ 152. /* Compressed bones / save files - Izchak Miller */ 153. /* #define ZEROCOMP /* Zero-run compression of files - Olaf Seibert */ 154. /* Use only if COMPRESS is not used */ 155. #define SOUNDS /* Add more life to the dungeon */ 156. #define REINCARNATION /* Rogue-like levels */ 157. #define ELBERETH /* Allow for disabling the E word - Mike 3point */ 158. #define WORM /* Long worms */ 159. #define ORACLE /* Include another source of information */ 160. #define EXPLORE_MODE /* Allow non-scoring play with additional powers */ 161. #define ALTARS /* Sacrifice sites - Jean-Christophe Collet */ 162. #define WALLIFIED_MAZE /* Fancy mazes - Jean-Christophe Collet */ 163. #ifdef HARD 164. #define SEDUCE /* Succubi/incubi additions, by KAA, suggested by IM */ 165. #endif 166. #define STRONGHOLD /* Challenging special levels - Jean-Christophe Collet*/ 167. #define MUSIC /* Musical instruments - Jean-Christophe Collet */ 168. #define GOLEMS /* Golems, by KAA */ 169. #define TOLKIEN /* More varieties of objects and monsters */ 170. #define KICK /* Allow kicking things besides doors -Izchak Miller */ 171. 172. #ifdef REDO 173. #define DOAGAIN '\001' /* The "redo" key Used in tty.c and cmd.c */ 174. #endif 175. 176. #define EXP_ON_BOTL /* Show experience on bottom line */ 177. /* #define SCORE_ON_BOTL /* added by Gary Erickson (erickson@ucivax) */ 178. 179. 180. 181. #include "global.h" /* Define everything else according to choices above */ 182. 183. #endif /* CONFIG_H /**/ config.h